package com.xbongbong.paas.domain.dao;

import com.xbongbong.paas.domain.entity.StageTimeoutRemindEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Map;

/**
 * @Auther: yingjianfeng
 * @Date: 2021/11/16 16:02
 * @Description:
 */
@Repository
@Mapper
public interface StageTimeoutRemindDao {
    /**
     * description: 通用insert
     * date: 2021/11/16 1:44 下午
     * @Author yingjf
     */
    Integer insert(StageTimeoutRemindEntity entity);

    /**
     * description: 通用update
     * date: 2021/11/16 1:44 下午
     * @Author yingjf
     */
    Integer update(StageTimeoutRemindEntity entity);

    /**
     * description: 通用find
     * date: 2021/11/16 1:44 下午
     * @Author yingjf
     */
    List<StageTimeoutRemindEntity> findEntitys(@Param("param") Map<String, Object> param) ;

    /**
     * description: 通用获取条数
     * date: 2021/11/16 1:44 下午
     * @Author yingjf
     */
    Integer getEntitysCount(@Param("param") Map<String, Object> param);

    /**
     * 批量插入
     * @param list
     */
    void insertBatch(List<StageTimeoutRemindEntity> list);

    /**
     * 批量更新
     * @param stageTimeoutRemindEntityList
     * @param corpid
     */
    void updateBatch(@Param("list") List<StageTimeoutRemindEntity> stageTimeoutRemindEntityList, @Param("corpid") String corpid);

    StageTimeoutRemindEntity getByKey(@Param("key") Long key, @Param("corpid") String corpid);

    void deleteByIdIn(@Param("corpid") String corpid, @Param("idIn") List<Long> idIn);
}
